using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CardListPopup")]
	public class CardListPopup : DialogBase
	{
		[Attribute38("CardListPopup.Info")]
		public class Info : MonoClass
		{
			public string m_description => method_4("m_description");

			public List<CollectibleCard> m_cards => method_3<Class271<CollectibleCard>>("m_cards")?.method_25();

			public Info(IntPtr address, string className)
				: base(address, className)
			{
			}

			public Info(IntPtr address)
				: this(address, "Info")
			{
			}
		}

		public GameObject m_CardsContainer => method_3<GameObject>("m_CardsContainer");

		public UIBButton m_okayButton => method_3<UIBButton>("m_okayButton");

		public UberText m_description => method_3<UberText>("m_description");

		public NestedPrefab m_leftArrowNested => method_3<NestedPrefab>("m_leftArrowNested");

		public NestedPrefab m_rightArrowNested => method_3<NestedPrefab>("m_rightArrowNested");

		public float m_CardSpacing => method_2<float>("m_CardSpacing");

		public Info m_info => method_3<Info>("m_info");

		public UIBButton m_leftArrow => method_3<UIBButton>("m_leftArrow");

		public UIBButton m_rightArrow => method_3<UIBButton>("m_rightArrow");

		public int m_numPages => method_2<int>("m_numPages");

		public int m_pageNum => method_2<int>("m_pageNum");

		public List<Actor> m_cardActors => method_3<Class271<Actor>>("m_cardActors")?.method_25();

		public static int MAX_CARDS_PER_PAGE => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "CardListPopup", "MAX_CARDS_PER_PAGE");

		public float CardSpacing => method_11<float>("get_CardSpacing", Array.Empty<object>());

		public CardListPopup(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CardListPopup(IntPtr address)
			: this(address, "CardListPopup")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void SetInfo(Info info)
		{
			method_8("SetInfo", info);
		}

		public new void Show()
		{
			method_8("Show");
		}

		public new void Hide()
		{
			method_8("Hide");
		}

		public void InitInfo()
		{
			method_8("InitInfo");
		}

		public void UpdateAll(Info info)
		{
			method_8("UpdateAll", info);
		}

		public void ShowPage(int pageNum)
		{
			method_8("ShowPage", pageNum);
		}

		public void UpdateCardPositions()
		{
			method_8("UpdateCardPositions");
		}

		public void SetupPagingArrows()
		{
			method_8("SetupPagingArrows");
		}

		public void TurnPage(bool right)
		{
			method_8("TurnPage", right);
		}

		public void PressOkay()
		{
			method_8("PressOkay");
		}

		public void FadeEffectsIn()
		{
			method_8("FadeEffectsIn");
		}

		public void FadeEffectsOut()
		{
			method_8("FadeEffectsOut");
		}

		public new CanvasScaleMode ScaleMode()
		{
			return method_11<CanvasScaleMode>("ScaleMode", Array.Empty<object>());
		}
	}
}
